#include "shape.h"

#include <string>
#include <iostream>

#ifdef _MAC_OS_
#include <GLUT/glut.h>
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#else
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
#endif

using namespace std;

Shape::Shape(){
	_pos[0] = -0.5+((double) rand() / (RAND_MAX));
	_pos[1] = -0.5+((double) rand() / (RAND_MAX));
	_color[0] = (double) rand() / (RAND_MAX);
	_color[1] = (double) rand() / (RAND_MAX);
	_color[2] = (double) rand() / (RAND_MAX);
	};

Shape::~Shape(){};

void Shape::setPosition(vec2f v){
    _pos = v;
};

void Shape::setColor(vec3f v){
    _color = v;
};

void Shape::setSpeed(vec2f v){
	_speed = v;
};

void Shape::setFactor(float f){
	_factor = f;
};

const vec2f& Shape::getPos() const{
    return _pos;
};

const vec3f& Shape::getColor() const{
    return _color;
};

const vec2f& Shape::getSpeed() const{
    return _speed;
};

const float Shape::getFactor() const{
	return _factor;
};

 vec2f& Shape::getPos() {
    return _pos;
};

 vec3f& Shape::getColor() {
    return _color;
};

 vec2f& Shape::getSpeed() {
    return _speed;
};

 float Shape::getFactor() {
	return _factor;
};